package com.xyzwps.lib.express.router.annotation.openapi;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.METHOD)
public @interface Operation {

    String summary();

    String description() default "";

    String operationId() default "";

    String[] tags() default {};

    boolean deprecated() default false;

//    private ExternalDocumentation externalDocs;
//    private final List<OASElement> parameters = new ArrayList<>();
//    private OASElement requestBody;
//    private Responses responses;
//    // TODO: callbacks
//    private final List<SecurityRequirement> security = new ArrayList<>();
//    private final List<Server> servers = new ArrayList<>();
}
